Existing cloud computing technology vendors provide various cloud computing services, such as infrastructure services, platform services, and application services. Using these cloud computing services, a developer is able to select a specific vendor, develop an application from that vendor's cloud computing service, and deploy the application with that vendor.
While developing a solution using a cloud service provided by a specific vendor can be relatively straightforward, developing a solution using different types of cloud services, which may be provided by different vendors, can be difficult. In addition to creating such solutions that use different types of cloud services, deploying such solutions can also be difficult. For example, a developer may have to manually specify the requirements of a virtualization platform on which the solution is to be deployed. Furthermore, the specification or requirements of the virtualization platform may be in a format specific to a particular cloud vendor, which can limit the available choices for deployment of the solution.
Therefore, there exists ample opportunity for improvement in technologies related to creating composite applications that use different types of cloud computing services.